// commonjs的规范 暴露模块
//              module.exports
//             引入模块
//              require("路径")
//
// ES6   暴露模块  export
//       引入     improt 模块名称 from '路径'



const express = require("express");
const moment = require("moment");
const db = require("./libs/DBHelper");

const server = express();

//配置静态资源
server.use(express.static("./../src1/src"));
//引入支持post请求的中间件
server.use(express.urlencoded({ extended: false }));
server.use(express.json());

server.all("*", (req, res, next) => {
    res.setHeader("Access-Control-Allow-origin", "*");
    next();
})

//登录
server.post("/login", async (req, res) => {
    //1.接受前端发送过来的 post请求数据
    try {
        let oUser = req.body;
        //2.准备登录的sql语句
        let sql_login = "  SELECT `uEmail` FROM  users WHERE uEmail=?";
        const result = await db.exec(sql_login, [oUser.email]);
        const isLogin = result && result.length >= 1;
        res.json({
            msg: isLogin ? '登录成功' : '登录失败',
            data: result[0],
            code: isLogin ? 200 : 201
        })
    } catch (error) {
        res.json({
            msg: '登录失败',
            error,
            code: 201
        })
    }
    // res.end("ok123675676756")
})


//注册
server.post("/reg", async (req, res) => {
    try {
        //1.接受前端发送过来的 post请求数据
        let oUser = req.body;
        //2.准备注册的sql语句
        let sql_reg = "INSERT INTO `users` (`uName`,`uPwd`,`uEmail`)VALUES(?,?,?);";
        let params = [
            oUser.userName,
            oUser.pwd,
            oUser.email,
        ]

        const results = await db.exec(sql_reg, params);
        // affectedRows 受影响行数
        let isReg = results && results.affectedRows >= 1

        res.json({
            msg: isReg ? "注册成功!" : "注册失败!",
            code: isReg ? 200 : 201
        })
    } catch (error) {
        res.json(
            {
                msg: "注册失败!",
                code: 201,
                error
            }
        )
    }
})




server.listen(8080, () => {
    console.log("http://127.0.0.1:8080服务器启动完毕!");
})






// 修改node代码,自动重启服务, nodemon 模块
//1. npm i nodemon -g  
//2. node app.js  改成  nodemon app.js